package com.xuecheng.api.media;

import com.xuecheng.api.content.model.qo.QueryCourseModel;
import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.qo.QueryMediaModel;
import com.xuecheng.api.media.model.vo.MediaAuditVo;
import com.xuecheng.api.media.model.vo.MediaVO;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

/**
 * @ClassName: MediaApi
 * @Description: TODO
 * @author: 王亚军
 * @date: 2021/12/14  22:46
 */
@Api(value = "媒资管理", tags = "媒资管理API")
public interface MediaApi {

    @ApiOperation("保存媒资信息")
    @ApiImplicitParam(name = "vo", value = "媒资保存信息", required = true, dataType = "MediaVO", paramType = "body")
    MediaDTO createMedia(MediaVO vo);

    @ApiOperation("分页查询媒资信息")
    PageVO queryCourseAudit(PageRequestParams params, QueryMediaModel model);


    @ApiOperation("根据id删除媒资信息")
    void removeMediaId(Long maediaId);

    @ApiOperation("分页查询媒资信息")
    PageVO queryMediaAudit(PageRequestParams params, QueryMediaModel model);

    @ApiOperation("媒资审核提交")
    void commitMedia(MediaAuditVo mediaAuditVo);

    @ApiOperation("获得媒资信息预览资源地址")
    @ApiImplicitParam(name="mediaId",value = "媒资id值",required = true,dataType = "Long",paramType = "path")
    String previewMedia(Long mediaId);

    @ApiOperation("根据Id查询媒资信息")
    RestResponse getMediaById(Long mediaId);

    @ApiOperation("获取媒资信息预览")
    String preview(Long mediaId);

}
